package br.com.salao.session;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.com.salao.ejb.dao.EstadoDao;
import br.com.salao.ejb.dao.impl.EstadoDaoImpl;
import br.com.salao.entity.Estado;

@Stateless
@Remote(EstadoBase.class)
public class EstadoBean implements EstadoBase {

	/**
	 * @author Dri
	 */
	private static final long serialVersionUID = 1L;
	
	@PersistenceContext(unitName = "SalaoBeleza")
	private EntityManager em;

	public EstadoBean(){
		//em = JpaUtil.getEntityManager();	
	}

	@TransactionAttribute  
	public boolean incluir(Estado estado){
		EstadoDao dao = new EstadoDaoImpl(em);
		return dao.inserir(estado);		
	}
	
	 @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public Estado buscarEstadoById(Estado estado){
		EstadoDaoImpl daoImpl = new EstadoDaoImpl(em);
		return daoImpl.localizarEstadoById(estado);
	}
	
	 @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<Estado> buscarEstadosByIdPais(int idPais){				
		EstadoDaoImpl daoImpl = new EstadoDaoImpl(em);
		return daoImpl.localizarEstadoByIdPais(idPais);
	}
	
	 @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)	 
	public List<Estado> listar(){		
		EstadoDao dao = new EstadoDaoImpl(em);		
		return dao.listar();
	}
	 
	 @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public Estado buscar(int id){
		EstadoDao dao = new EstadoDaoImpl(em);	
		return dao.buscar(id);
	}

}
